Package com.gui

Source Code of com.gui.ShopMenu

package com.gui;

import java.awt.Container;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import com.fileio.FileIO;
import com.fish.World;

/**
* @author Dror
*
* email: gumjum.o.o@gmail.com
*
*/

public class ShopMenu extends Menu implements ActionListener{

  /**
   *
   */
  private static final long serialVersionUID = -5866738010940478354L;

  JLabel infoLabel;
  JLabel moneyLabel;
  JButton selectButtons[];
  JButton buyButton;
  JButton backButton;
  String selected = "goldfish";
 
  String info;
  float selectedValue = 0;
 
 
  public ShopMenu() {
    super();

    infoLabel = new JLabel("fish information");
    infoLabel.setFocusable(false);  
   
    moneyLabel = new JLabel("<money>");
    moneyLabel.setFocusable(false);  
   
    Element shop = (Element)FileIO.shopDB.getElementsByTagName("shop").item(0);
    NodeList l = shop.getElementsByTagName("item");
   
   
    selectButtons = new JButton[l.getLength()];
    Container jp = new Container();
    jp.setBackground(bg12);
    jp.setLayout(new GridLayout(selectButtons.length+1,2));
   
    jp.add(new JLabel("item"));
    jp.add(new JLabel("cost"));
   
    for(int i = 0;i<l.getLength();i++){
      String id = ((Element)l.item(i)).getAttribute("id");
      selectButtons[i] = new JButton(id);

//      selectButtons[i].setIcon(new ImageIcon("data/"+((Element)l.item(i)).getAttribute("id")+".jpg"));

      selectButtons[i].setFocusable(false);   
      selectButtons[i].setBackground(lvl3);   
      selectButtons[i].addActionListener(this);
      jp.add(selectButtons[i]);
      jp.add(new JLabel(World.getShopValue(id)+"$"));
     
    }         
    jp.setSize(200, 200);
   
    buyButton = new JButton("Buy");
    buyButton.setFocusable(false);   
    buyButton.setBackground(lvl3);   
    buyButton.addActionListener(this);
   
    backButton = new JButton("back");
    backButton.setFocusable(false);   
    backButton.setBackground(lvl2);   
    backButton.addActionListener(this);
   
    this.setFocusable(false);  
    this.setBackground(bg12);
   
    GroupLayout layout = new GroupLayout(this);
    this.setLayout(layout);
    layout.setAutoCreateGaps(true);
    layout.setAutoCreateContainerGaps(true);
   
   
   
   
    layout.setVerticalGroup(layout.createParallelGroup()
        .addGroup(layout.createSequentialGroup()
            .addComponent(backButton))
        .addGroup(layout.createSequentialGroup()
            .addComponent(jp))
        .addGroup(layout.createSequentialGroup()
//            .addComponent(buyButton)
            .addComponent(moneyLabel))
//        .addComponent(infoLabel)
        );
   
//    layout.linkSize(jp,infoLabel);
    layout.linkSize(SwingConstants.HORIZONTAL, jp,moneyLabel);
    layout.linkSize(SwingConstants.VERTICAL, jp,moneyLabel);
//    layout.linkSize(buyButton,moneyLabel);
   
    layout.setHorizontalGroup(layout.createSequentialGroup()
        .addGroup(layout.createParallelGroup()
            .addComponent(backButton))
        .addGroup(layout.createParallelGroup()
            .addComponent(jp))
        .addGroup(layout.createParallelGroup()
//            .addComponent(buyButton)
            .addComponent(moneyLabel))
//        .addComponent(infoLabel)
        );
   
    updateInfo();
  }
 
  public void paintComponent(Graphics g)
  {
    moneyLabel.setText("money: " +  Math.round(World.money) + "$");
   
    super.paintComponent(g);
   
  }
 
  public void updateInfo(){
    info = FileIO.readTextFile("data/"+selected+".html");

    selectedValue = World.getShopValue(selected);
   
    info += "<br>cost: " + selectedValue + "$";
   
    info += "</body></html>";
   
    infoLabel.setText(info);
   
  }
  @Override
  public void actionPerformed(ActionEvent e) {
    Object obj = e.getSource();
   
    if(obj == backButton){
      mp.layout.replace(mp.curMenu, mp.mainMenu);
      mp.curMenu = mp.mainMenu;
    }
//    else if(obj == buyButton){
//      if(World.money >= selectedValue){
//        World.money -= selectedValue;
//        if(!selected.equals("food")){
//          World.addFish(selected);
//        }
//        else{
//          World.addFood(selected);
//        }
//      }
//    }
    else if(obj instanceof JButton){
      for(JButton b: selectButtons)
        if(b.equals(obj)){
          selected = b.getText();
         
          World.money -= World.getShopValue(selected);
          if(!selected.equals("food")){
            World.addFish(selected);
          }else{
            World.addFood(selected);
          }
         
//          updateInfo();
          break;
        }
    }
  }

}
TOP

Related Classes of com.gui.ShopMenu

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.